#!/usr/bin/env node

const {
    program
} = require("commander");

const {
    version
} = require("./package.json")

const inquirer = require("inquirer")


// console.log(process.argv)

// 定义交互信息
const promotList = [{
        type: "input", //  交互类型
        message: "请输入包名", //  提示信息
        name: "name", //指定字段名（输入的信息保存到一段字段里）
        default: "aa" //  默认值
    },
    {
        type: "list",
        name: "list",
        message: "请选择一种水果",
        choices: ["banana", "apple", "orange", "pear"]
    },
    {
        type: "rawlist",
        name: "rawlist",
        message: "请选择一种食物",
        choices: ["noodle", "rice"]
    },
    {
        type: "expand",
        name: "expand",
        message: "overwrite",
        choices: [{
                key: "a",
                value: "1"
            },
            {
                key: "b",
                value: "2"
            }
        ]
    },
    {
        type:"confirm",
        name:"confirm",
        message:"你确定吗？",
    }
];

// 定义回调函数
const actionHandle = () => {
    inquirer.prompt(promotList).then(answers => {
        console.log(answers)
    })
}


// 定义命令

program
    .command("int") //指令
    .option("-v") // 子指令  可以写多个
    .option("-p")
    .description("打印版本号") //描述
    .action(actionHandle)

// .action((cmd)=>{  //当输入的指令匹配到时，要进行实操
//     // console.log(cmd)
//     // console.log(version)
//     if(cmd.v){
//         console.log("我是崔鹏鹏")
//     }else{
//         console.log("我是他同桌")
//     }

// })

// parse 解析进程参数： process.argv
// console.log(program.version(version).parse(process.argv))
program.version(version).parse(process.argv)